"""
 单词查找练习,从终端或者函数中传入一个单词,在字典文件中查找出 对应单词和解释,并且打印出来,如果没有则打印没有
"""


class FileOperate:
	"""
	单词查找
	"""
	def __init__(self):
		self.__file_ = None

	@property
	def file_(self):
		return self.__file_

	# <editor-fold desc="读取操作, 有bug 循环第一次能查到, 第二次就查不到了">
	def read_file(self):
		"""
		查找单词,对应的释义
		"""
		self.__file_ = open("dict.txt", encoding="utf-8")
		while True:
			word = input("输入要查询的单词: ")
			# self.__file_.read()
			if word == '':
				self.__file_.close()  # 关闭文件
				break

			self.__cycle_find(word)
	def __cycle_find(self, word):
		"""read_file() 的子方法"""
		for line in self.__file_:  # 每次获取一行
			w = line.split(' ')[0]  # 取出第一行的第一个单词

			if w > word:  # 如果遍历到的单词长度已经比word长,就停止循环,没必要继续找下去了
				print(f"没有找到该单词: {word}!")
				break
			elif w == word:
				print(line)
				break
		else:
			print(f"没有找到: {word}单词!")
	# </editor-fold>

	# <editor-fold desc="写入操作,未完成">
	def __file_write(self):
		self.__file_ = open("dict.txt", "w", encoding="utf-8")  # 写入方式打开
	# </editor-fold>





if __name__ == '__main__':
	op = FileOperate()
	op.read_file()